#ifndef HARC_H
#define HARC_H
#include <fstream>
#include <iostream>
#include <vector>
#include <cstdlib>
#include "Harcos.h"
#include "TamadasiMod.h"

using namespace std;

class Harc {

 public:
    enum Exceptions {MISSING_FILE};
    Harc(Kuldetes* ellenfel);
    void Harcol(const int ktamado,const int kvedo,const int kgyorsasag,const int kmoral,const int kszint);
    void TamadasiModotBeolvas();
    int GetInteger(const string& msg,const int &db);

    void Info();
    void KTamad(int ktamadasimod, int etmadasimod);
    void ETamad(int ktamadasimod, int etamadasimod);
    void KSebez(int &sebzes) { this->moral -= sebzes; }
    void ESebez(int &sebzes) { this->kmoral -= sebzes; }
    int KModotValaszt();
    int EModotValaszt();
    int SebzestKap() const { return sebzestkap; }

    bool KiKezd() const;
    bool Vegee();
    bool Autoe();
    void Auto();
    void Manual();
    bool KiNyert();
    int KorokSzama() { return this->korok; }
    void KorokSzamaInc() { this->korok += 1; }
    bool Menekul();
    bool Menekule() const { return this->kmenekul == true; }


 private:
    int korok;
    int tamado;
    int vedo;
    int gyorsasag;
    int moral;
    int szint;
    int sebzestkap;
    int kmoral,kszint,ktamado,kvedo,kgyorsasag;
    bool kmenekul;
    vector<TamadasiMod> myTamadasiMod;
};

#endif HARC_H
